<?php
// +----------------------------------------------------------------------
// | Citrix [ WE ONLY DO WHAT IS NECESSARY ]
// +----------------------------------------------------------------------
// | Copyright (c) 2018 http://www.tpCitrix.com/ All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.tpCitrix.com/ )
// +----------------------------------------------------------------------
// | Author: Citrix < 2722279500@qq.com >
// +----------------------------------------------------------------------

namespace app\admin\controller;
use app\admin\controller\Permissions;
use \think\Db;
use \think\Cookie;
use \think\Session;
use \think\Cache;
use app\admin\model\Layout as LayoutModel;

class Layout extends Permissions
{
	//单页面
    public function layout()
    {
        $model = Db::name('layout');
        $layout = $model->order('sort desc')->paginate(20,false,['query'=>$this->request->param()]);
        $this->assign('layout',$layout);
        return $this->fetch();
    }
    //单页面编辑
    public function layout_publish()
    {
        $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
        $model = new LayoutModel();
        if($id > 0) {
            //是修改操作
            if($this->request->isPost()) {
                //是提交操作
                $post = $this->request->post();
                //验证  唯一规则： 表名，字段名，排除主键值，主键名
                $validate = new \think\Validate([
                    ['layuot_name', 'require', '名称不能为空'],
                    ['keywords', 'require', '关键词不能为空'],
                    ['description', 'require', '描述不能为空'],
                    // ['thumb', 'require', '缩略图不能为空'],
                    ['content', 'require', '内容不能为空'],
                ]);
                //验证部分数据合法性
                if (!$validate->check($post)) {
                    $this->error('提交失败：' . $validate->getError());
                }
                //验证菜单是否存在
                $article = $model->where('id',$id)->find();
                if(empty($article)) {
                    return $this->error('id不正确');
                }
                if(false == $model->allowField(true)->save($post,['id'=>$id])) {
                    return $this->error('修改失败');
                } else {
                    addlog($model->id);//写入日志
                    return $this->success('修改成功','admin/Layout/layout');
                }
            } else {
                //非提交操作
                $layout = $model->where('id',$id)->find();
                if(!empty($layout)) {
                    $this->assign('layout',$layout);
                    return $this->fetch();
                } else {
                    return $this->error('id不正确');
                }
            }
        } else {
            //是新增操作
            if($this->request->isPost()) {
                //是提交操作
                $post = $this->request->post();
                //验证  唯一规则： 表名，字段名，排除主键值，主键名
                $validate = new \think\Validate([
                    ['layuot_name', 'require', '名称不能为空'],
                    ['keywords', 'require', '关键词不能为空'],
                    ['description', 'require', '描述不能为空'],
                    // ['thumb', 'require', '缩略图不能为空'],
                    ['content', 'require', '内容不能为空'],
                ]);
                //验证部分数据合法性
                if (!$validate->check($post)) {
                    $this->error('提交失败：' . $validate->getError());
                }
                if(false == $model->allowField(true)->save($post)) {
                    return $this->error('添加失败');
                } else {
                    addlog($model->id);//写入日志
                    return $this->success('添加成功','admin/Layout/layout');
                }
            } else {
                return $this->fetch();
            }
        }
    }
    //单页面快捷编辑
    public function layout_changeTableVal()
    {
        $table = input('table'); // 表名
        $id_name = input('id_name'); // 表主键id名
        $id_value = input('id_value'); // 表主键id值
        $field  = input('field'); // 修改哪个字段
        $value  = input('value'); // 修改字段值  
        $addlog = addlog($id_value);
        if(!empty($addlog))
        {
            return $addlog;
        }else
        {
            Db::name($table)->where([$id_name=>$id_value])->update([$field=>$value]); // 根据条件保存修改的数据
            return $this->success('更新成功','admin/Layout/layout');
           // return json(['msg'=>'更新成功']);
        }
    }
    //单页面删除
    public function layout_delete()
    {
        if($this->request->isAjax()) {
            $id = $this->request->has('id') ? $this->request->param('id', 0, 'intval') : 0;
            if(false == Db::name('layout')->where('id',$id)->delete()) {
                return $this->error('删除失败');
            } else {
                addlog($id);//写入日志
                return $this->success('删除成功','admin/Layout/layout');
            }
        }
    }
    //单页面审核
    public function layout_status()
    {
        if($this->request->isPost()){
            $post = $this->request->post();
            if(false == Db::name('layout')->where('id',$post['id'])->update(['status'=>$post['status']])) {
                return $this->error('设置失败');
            } else {
                addlog($post['id']);//写入日志
                return $this->success('设置成功','admin/Layout/layout');
            }
        }
    }
	
}




?>